Alternation for Termination
نویسندگان
چکیده
Proving termination of sequential programs is an important problem, both for establishing the total correctness of systems and as a component of proving more general termination and liveness properties. We present a new algorithm, TREX, that determines if a sequential program terminates on all inputs. The key characteristic of TREX is that it alternates between refining an overapproximation and an under-approximation of each loop in a sequential program. In order to prove termination, TREX maintains an over-approximation of the set of states that can be reached at the head of the loop. In order to prove nontermination, it maintains an under-approximation of the set of paths through the body of the loop. The over-approximation and under-approximation are used to refine each other iteratively, and help TREX to arrive quickly at a proof of either termination or non-termination. TREX refines the approximations in alternation by composing three different program analyses: (1) local termination provers that can quickly handle intricate loops, but not whole programs, (2) non-termination provers that analyze one cycle through a loop, but not all paths, and (3) global safety provers that can check safety properties of large programs, but cannot check liveness properties. This structure allows TREX to be instantiated using any of the pre-existing techniques for proving termination or non-termination of individual loops. We evaluated TREX by applying it to prove termination or find bugs for a set of real-world programs and termination analysis benchmarks. Our results demonstrate that alternation allows TREX to prove termination or produce certified termination bugs more effectively than previous techniques.
منابع مشابه
Towards a Semantics for Prioritised Alternation
A new prioritised alternation programming construct and CSP operator have previously been suggested by the author to express behaviour that arises with machine-level prioritised vectored interruption. The semantics of each is considered, though that of prioritisation is deferred given the current lack of consensus regarding a suitable domain. Defining axioms for the operator are tentatively pro...
متن کاملGlobal Caching for the Alternation-free $\mu$-Calculus
We present a sound, complete, and optimal single-pass tableau algorithm for the alternation-free μ-calculus. The algorithm supports global caching with intermediate propagation and runs in time 2. In game-theoretic terms, our algorithm integrates the steps for constructing and solving the Büchi game arising from the input tableau into a single procedure; this is done onthe-fly, i.e. may termina...
متن کاملGlobal Caching for the Alternation-free μ-Calculus
We present a sound, complete, and optimal single-pass tableau algorithm for the alternation-free μ-calculus. The algorithm supports global caching with intermediate propagation and runs in time 2O(n). In game-theoretic terms, our algorithm integrates the steps for constructing and solving the Büchi game arising from the input tableau into a single procedure; this is done onthe-fly, i.e. may ter...
متن کاملEndogenous activation of glycine and NMDA receptors in lamprey spinal cord during fictive locomotion.
Strychnine is shown to abolish left-right alternation in fictive locomotion induced by sensory stimulation. Robust rhythmic activity, characterized by left-right coactivation at each segmental level, is seen in the presence of strychnine at all doses used (0.5-20 microM). The proportion of the cycle occupied by the ventral root bursts and the rostral-caudal coordination is similar to that seen ...
متن کاملGames Programs Play: Analyzing Multiplayer Programs
In this paper we present the first automatic technique for symbolically proving alternation-free μ-calculus properties of infinitestate, higher-order programs. In particular, we show how weak-recurrence solvability can be lifted from finite-state programs to higher-order recursive programs. Our strategy reduces the search for a proof of a winning strategy to nontermination of higher-order progr...
متن کامل